home *** CD-ROM | disk | FTP | other *** search
/ Compute! Gazette 1988 July / 1988-07.d64 / v-8 loader (.txt) < prev    next >
Commodore BASIC  |  2022-09-20  |  4KB  |  140 lines

  1. 10 s=49664:v=49152:pg=0:rem pg=0 if screen or 16k bank will change
  2. 15 poke646,14:poke53280,14:poke53281,6
  3. 20 print"[147] v-8 loader  -  copyright 1988 compute! "
  4. 30 print""spc(10)"creating program...."
  5. 40 forx=stos+208:readd:pokex,d:ck=ck+d:next
  6. 50 ifck<>26449thenprint"     error in data! lines 690-1040":end
  7. 60 forx=s+209tos+264:readd:pokex,d:next
  8. 70 ck=0:forx=s+265tos+277:readd:pokex,d:ck=ck+d:next
  9. 80 ifck<>1848thenprint"     error in data! lines 1150-1170":end
  10. 90 s2=s+278:t=s2:forx=0to46:readd:ifd<>1then120
  11. 100 n=v+x*8:gosub680
  12. 110 poket,185:poket+1,l:poket+2,h:poket+3,141:poket+4,x:poket+5,208:t=t+6
  13. 120 next
  14. 130 s3=t:readd:ifd<>1then160
  15. 140 n=v+376:gosub680
  16. 150 poket,185:poket+1,l:poket+2,h:poket+3,141:poket+4,0:poket+5,221:t=t+6
  17. 160 s4=t:forx=0to7:readd:ifd<>1then200
  18. 170 n=v+(48+x)*8:gosub680
  19. 180 poket,185:poket+1,l:poket+2,h:poket+3,141:poket+4,x+248:poket+5,pg:t=t+6
  20. 190 sp(x)=1:sn=sn+1
  21. 200 next
  22. 210 ck=0:s5=t:forx=s5tos5+8:readd:pokex,d:ck=ck+d:next
  23. 220 ifck<>1401thenprint"     error in data! lines 1280-1300":end
  24. 230 t=0:s6=s5+9:if(pg>0andpg<256)orsn=0thenforx=0to23:readd:next:s7=s6:goto310
  25. 240 ck=0:forx=s6tos6+23:readd:pokex,d:ck=ck+d:next
  26. 250 ifck<>2288thenprint"     error in data! lines 1310-1350":end
  27. 260 forx=0to7:ifsp(x)<>1then300
  28. 270 n=s4+5+t*2:gosub680
  29. 280 pokes6+t+24,141:pokes6+t+25,l:pokes6+t+26,h
  30. 290 pokes+t+32,141:pokes+t+33,l:pokes+t+34,h:t=t+3
  31. 300 next:s7=s6+24+sn*3
  32. 310 ift<24thenforx=s+t+32tos+55:pokex,234:next
  33. 320 ck=0:forx=s7tos7+9:readd:pokex,d:ck=ck+d:next
  34. 330 ifck<>1505thenprint"     error in data! lines 1360-1380":end
  35. 340 e=s7+9:le=e-s+1:o=s+82:i=s+161:nm=s+1:df=s+209
  36. 350 n=v+192:gosub680:pokes+9,l:pokes+10,h
  37. 360 ifs7<>s6thenpokes6+1,l:pokes6+2,h
  38. 370 n=v+376:gosub680:pokes+20,l:pokes+21,h
  39. 380 ifs7<>s6thenpokes6+12,l:pokes6+13,h
  40. 390 n=s+209:gosub680:pokes+105,l:pokes+106,h
  41. 400 pokes+116,l:pokes+117,h
  42. 410 pokes+150,l:pokes+151,h
  43. 420 pokes+176,l:pokes+177,h
  44. 430 n=s+179:gosub680:pokes+164,l:pokes+165,h
  45. 440 pokes+187,l:pokes+188,h
  46. 450 pokes+193,l:pokes+194,h
  47. 460 n=s+180:gosub680:pokes+169,l:pokes+170,h
  48. 470 pokes+196,l:pokes+197,h
  49. 480 pokes+201,l:pokes+202,h
  50. 490 n=s+265:gosub680:pokes+67,l:pokes+72,h
  51. 500 n=s+154:gosub680:pokes+147,l:pokes+148,h
  52. 510 n=v:gosub680:pokes+162,l:pokes+167,h
  53. 520 n=v+144:gosub680:pokes+273,l:pokes+274,h
  54. 530 print"  start="s"end="e"length="le
  55. 540 input"           save it to disk";i$
  56. 550 if i$<>"y"then610
  57. 560 input"        filename";f$:iff$=""then610
  58. 570 f$="0:"+f$:open1,8,1,f$
  59. 580 n=s:gosub680:poke253,l:poke254,h
  60. 590 n=e+1:gosub680:poke781,l:poke782,h
  61. 600 poke780,253:sys65496:close1
  62. 610 print"  poke"nm"[146]# of splits in screen"
  63. 620 print"  sys"i"[146]to init. shadow registers"
  64. 630 print"  sys"s"[146]to activate"
  65. 640 print"  sys"o"[146]to de-activate"
  66. 650 print"  "v"[157]";-v-447"[146]= shadow registers"
  67. 660 print"  "df"[157]";-df-55"[146]= defaults table"
  68. 670 end
  69. 680 h=int(n/256):l=n-h*256:return
  70. 690 rem --- section 1 data ---
  71. 700 data169,8,133,251,169,0
  72. 710 data133,252,173,192,192,41
  73. 720 data240,74,74,9,3,133
  74. 730 data253,173,120,193,73,3
  75. 740 data10,10,10,10,10,10
  76. 750 data5,253,141,17,196,141
  77. 760 data23,196,141,29,196,141
  78. 770 data35,196,141,41,196,141
  79. 780 data47,196,141,53,196,141
  80. 790 data59,196,169,27,141,17
  81. 800 data208,169,127,141,13,220
  82. 810 data169,9,141,20,3,169
  83. 820 data195,141,21,3,169,241
  84. 830 data141,26,208,96,169,240
  85. 840 data141,26,208,169,49,141
  86. 850 data20,3,169,234,141,21
  87. 860 data3,169,129,141,13,220
  88. 870 data160,0,185,209,194,153
  89. 880 data0,208,200,192,47,208
  90. 890 data245,185,209,194,141,0
  91. 900 data221,200,173,24,208,41
  92. 910 data240,74,74,9,3,133
  93. 920 data253,173,0,221,73,3
  94. 930 data10,10,10,10,10,10
  95. 940 data5,253,141,154,194,185
  96. 950 data209,194,153,200,7,200
  97. 960 data192,56,208,245,96,169
  98. 970 data0,141,179,194,169,192
  99. 980 data141,180,194,160,0,162
  100. 990 data0,185,209,194,157,0
  101. 1000 data192,232,224,8,208,248
  102. 1010 data173,179,194,24,105,8
  103. 1020 data141,179,194,173,180,194
  104. 1030 data105,0,141,180,194,200
  105. 1040 data192,56,208,221,96
  106. 1050 rem ***** defaults *****
  107. 1060 data0,0,0,0,0,0,0,0
  108. 1070 data0,0,0,0,0,0,0,0,0
  109. 1080 data27,0,0,0,0
  110. 1090 data200,0,21,120,240
  111. 1100 data0,0,0,0,0
  112. 1110 data14,6,0,1,2,3,4
  113. 1120 data5,6,7,8,9,10,11,12
  114. 1130 data199
  115. 1140 data0,0,0,0,0,0,0,0
  116. 1150 rem --- section 1 cont'd ---
  117. 1160 data169,1,141,25,208,164
  118. 1170 data252,185,144,192,141,18,208
  119. 1180 rem ***** vm registers *****
  120. 1190 data1,1,1,1,1,1,1,1:rem sprite 0-3 x,y coordinates
  121. 1200 data1,1,1,1,1,1,1,1,1:rem sprite 4-7 x,y coordinates;sprite 0-7 x msb
  122. 1210 data1,-1,-1,-1,1:rem ctrl(53265);raster;lpx;lpy;sprite enable
  123. 1220 data1,1,1,-1,-1:rem ctrl(53270);spr y expand;mem ctrl;irq flag;irq enable
  124. 1230 data1,1,1,-1,-1:rem spr priority;spr mcm;spr x expand;spr-spr;spr-bkg
  125. 1240 data1,1,1,1,1,1,1:rem border;bkg 0-3;sprite mc 0-1
  126. 1250 data1,1,1,1,1,1,1,1:rem sprite 0-7 color
  127. 1260 data1:rem 16k vic bank (56576)
  128. 1270 data1,1,1,1,1,1,1,1:rem sprite 0-7 pointers
  129. 1280 rem --- section 5 data ---
  130. 1290 data200,196,251,208,2,160
  131. 1300 data0,132,252
  132. 1310 rem --- section 6 data ---
  133. 1320 data185,192,192,41,240,74
  134. 1330 data74,9,3,133,253,185
  135. 1340 data120,193,73,3,10,10
  136. 1350 data10,10,10,10,5,253
  137. 1360 rem --- section 7 data ---
  138. 1370 data165,252,208,3,76,49
  139. 1380 data234,76,188,254
  140.